/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.clicarros.dao.Implementacao.perfilusuario;

import br.com.clicarros.dao.Implementacao.AbstractDAO;
import br.com.clicarros.dominio.perfilusuario.PerfilUsuario;
import br.com.clicarros.util.UtilHibernate;
import java.sql.SQLException;
import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.criterion.Restrictions;

/**
 *
 * @author Bruno
 */
public class DAOPerfilUsuario extends AbstractDAO {
    
    
        @Override
    public void excluir(Object o) throws ClassNotFoundException, SQLException, Exception {
        Session session = UtilHibernate.openSession();
		
	Transaction tz = session.beginTransaction();
	
        PerfilUsuario perfil = (PerfilUsuario) o;
        
        List perfis = consultar(perfil);
        if(!perfis.isEmpty()){
            session.delete(perfis.get(0));
        }
	tz.commit();
	session.close();
    }
    
    @Override
    public List<Object> consultar(Object o) throws ClassNotFoundException, SQLException, Exception {
        PerfilUsuario perfil = (PerfilUsuario) o;
        
        Session session = UtilHibernate.openSession();
        
        Criteria c = session.createCriteria(PerfilUsuario.class);
        c.add(Restrictions.eq("usuario.idUsuario", perfil.getUsuario().getIdUsuario()));
        
        List retorno = c.list();
        
        session.close();
        
        return retorno;
        
        
    }
    
}
